[IA64] Revert xen-ia64-unstable.hg cset 10685
authorawilliam@xenbuild.aw <awilliam@xenbuild.aw>
Wed, 19 Jul 2006 13:17:54 +0000 (07:17 -0600)
committerawilliam@xenbuild.aw <awilliam@xenbuild.aw>
Wed, 19 Jul 2006 13:17:54 +0000 (07:17 -0600)
This reverts the following xen-ia64-unstable.hg cset:

"[IA64] emulate PAL_HALT_LIGHT on domU"
10685:8ad37880564dff8599f2f410f7bd0c54a50a29e2

Signed-off-by: Alex Williamson <alex.williamson@hp.com>
xen/arch/ia64/vmx/vlsapic.c
xen/arch/ia64/xen/domain.c
xen/arch/ia64/xen/hypercall.c
xen/arch/ia64/xen/xentime.c
xen/include/asm-ia64/domain.h
xen/include/asm-ia64/time.h
xen/include/asm-ia64/vcpu.h

index 567e6181b5a42d85aaf25ec8e51b75126355a8fc..2d255b7aacd81e60e7aaa70bc6b50f786568728a 100644 (file)
@@ -165,6 +165,8 @@ void vtm_set_itc(VCPU *vcpu, uint64_t new_itc)
 
 
 #define TIMER_SLOP (50*1000) /* ns */  /* copy from timer.c */
+extern u64 cycle_to_ns(u64 cyle);
+
 
 void vtm_set_itm(VCPU *vcpu, uint64_t val)
 {
index 598318aad89c7c27d5cb73cce877c8c8e74fb766..e691964f765d8cd403b9f9b7001492fea04bde57 100644 (file)
@@ -248,14 +248,6 @@ void startup_cpu_idle_loop(void)
        continue_cpu_idle_loop();
 }
 
-void hlt_timer_fn(void *data)
-{
-       struct vcpu *v = data;
-       if (vcpu_timer_expired(v))
-               vcpu_pend_timer(v);
-       vcpu_unblock(v);   
-}
-
 struct vcpu *alloc_vcpu_struct(struct domain *d, unsigned int vcpu_id)
 {
        struct vcpu *v;
@@ -311,8 +303,6 @@ struct vcpu *alloc_vcpu_struct(struct domain *d, unsigned int vcpu_id)
            v->arch.breakimm = d->arch.breakimm;
            v->arch.last_processor = INVALID_PROCESSOR;
        }
-       if (!VMX_DOMAIN(v))
-               init_timer(&v->arch.hlt_timer, hlt_timer_fn, v, v->processor);
 
        return v;
 }
@@ -325,7 +315,6 @@ void free_vcpu_struct(struct vcpu *v)
                if (v->arch.privregs != NULL)
                        free_xenheap_pages(v->arch.privregs,
                                      get_order_from_shift(XMAPPEDREGS_SHIFT));
-               kill_timer(&v->arch.hlt_timer);
        }
 
        free_xenheap_pages(v, KERNEL_STACK_SIZE_ORDER);
index f7d62f3b1080a6bbde007d0c85fd071424c46f67..20ab2ecda344133188c124fe73753667cc0c7b58 100644 (file)
@@ -220,9 +220,7 @@ fw_hypercall (struct pt_regs *regs)
                        }
                        else {
                                pal_halt_light_count++;
-                               set_timer(&v->arch.hlt_timer,
-                                         vcpu_get_next_timer_ns(v));
-                               do_sched_op_compat(SCHEDOP_block, 0);
+                               do_sched_op_compat(SCHEDOP_yield, 0);
                        }
                        regs->r8 = 0;
                        regs->r9 = 0;
index c2e063d74c4ab837f9988f6361c2adcfb350b914..b1d32c50aeb9770b584dbfc5cbb33c811d44c7bc 100644 (file)
@@ -42,6 +42,20 @@ static s_time_t        stime_irq = 0x0;       /* System time at last 'time updat
 unsigned long itc_scale, ns_scale;
 unsigned long itc_at_irq;
 
+/* We don't expect an absolute cycle value here, since then no way
+ * to prevent overflow for large norminator. Normally this conversion
+ * is used for relative offset.
+ */
+u64 cycle_to_ns(u64 cycle)
+{
+    return (cycle * itc_scale) >> 32;
+}
+
+u64 ns_to_cycle(u64 ns)
+{
+    return (ns * ns_scale) >> 32;
+}
+
 static inline u64 get_time_delta(void)
 {
     s64      delta_itc;
index eee899da1993a5d43b7e6d85933bbb45d2a362f9..afaa40150b22c7dc58230347bbeb80012697c054 100644 (file)
@@ -170,7 +170,6 @@ struct arch_vcpu {
     unsigned long old_rsc;
     int mode_flags;
     fpswa_ret_t fpswa_ret;     /* save return values of FPSWA emulation */
-    struct timer hlt_timer;
     struct arch_vmx_struct arch_vmx; /* Virtual Machine Extensions */
 
 #define INVALID_PROCESSOR       INT_MAX
index be49a541a5d47c7ff4d454df74457822719a5b3c..c55fb1fbc43e7f874a4d1b0ef9504c1d22964715 100644 (file)
@@ -1,26 +1,2 @@
-#ifndef _XEN_IA64_TIME_H
-#define _XEN_IA64_TIME_H
-
 #include <asm/linux/time.h>
 #include <asm/timex.h>
-
-extern unsigned long itc_scale;
-extern unsigned long ns_scale;
-
-/* We don't expect an absolute cycle value here, since then no way
- * to prevent overflow for large norminator. Normally this conversion
- * is used for relative offset.
- */
-static inline u64
-cycle_to_ns(u64 cycle)
-{
-    return (cycle * itc_scale) >> 32;
-}
-
-static inline u64
-ns_to_cycle(u64 ns)
-{
-    return (ns * ns_scale) >> 32;
-}
-
-#endif /* _XEN_IA64_TIME_H */
index c2a7f26dbeefa59b158443cdfc4cffd0f5adaf3b..87076da9fa98f0ffa6c5def56ab9eb2f271a0616 100644 (file)
@@ -4,11 +4,9 @@
 // TODO: Many (or perhaps most) of these should eventually be
 // static inline functions
 
-#include <asm/delay.h>
 #include <asm/fpu.h>
 #include <asm/tlb.h>
 #include <asm/ia64_int.h>
-#include <asm/time.h>
 #include <public/arch-ia64.h>
 typedef        unsigned long UINT64;
 typedef        unsigned int UINT;
@@ -184,12 +182,6 @@ itir_mask(UINT64 itir)
     return (~((1UL << itir_ps(itir)) - 1));
 }
 
-static inline u64
-vcpu_get_next_timer_ns(VCPU *vcpu)
-{
-    return cycle_to_ns(PSCBX(vcpu, domain_itm) - ia64_get_itc()) + NOW();
-}
-
 #define verbose(a...) do {if (vcpu_verbose) printf(a);} while(0)
 
 //#define vcpu_quick_region_check(_tr_regions,_ifa) 1